#include <iostream>
#include <cstring>

using namespace std;
const int N=110;

bool g[N][N];
pair<int,int> match[N][N];
int st[N][N];
int n,t;
int dx[4]={0,0,1,-1};
int dy[4]={1,-1,0,0};
bool find(int x,int y)
{
	for(int i=0;i<4;i++)
	{
		int nx=x+dx[i],ny=y+dy[i];
		if(nx<1 || nx>n || ny<1 || ny>n)
			continue;
		if(g[nx][ny] || st[nx][ny])
			continue;
		st[nx][ny]=true;
		auto t=match[nx][ny];
		if(t.first==0 || find(t.first,t.second))
		{
			match[nx][ny]={x,y};
			return true;
		}
	}
	return false;
}
int main()
{
	cin>>n>>t;
	for(int i=0;i<t;i++)
	{
		int x,y;
		scanf("%d%d",&x,&y);
		g[x][y]=true;
	}
	int ret=0;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if(!g[i][j] && find(i,j) && (i+j)%2)
			{
				memset(st,0,sizeof(st));
				ret++;
			}
		}
	}
	cout<<ret<<endl;
	return 0;
}
